package clienteapjava.dados;

import apjava.basico.Informacao;
import clienteapjava.dados.comandos.ComandoCliente;
import clienteapjava.dados.exceptions.ComandoException;
import apjava.basico.ServidorModel;

public class TratadorInformacaoCliente extends TratadorInformacaoPadrao implements Runnable {
    
    private ServidorModel servidor;
    
    private Informacao info;
    
    public TratadorInformacaoCliente(Informacao info, ServidorModel servidor) {
        this.info = info;
        this.servidor = servidor;
    }

    public void run() {
        ComandoCliente cmd = listaComandos.get(info.getTipo());
        if(cmd == null) {
            System.out.println("Comando nao encontrado: " + info.getTipo());
            return;
        }
        
        try {
            cmd.executar(this.info, this.servidor);
        } catch (ComandoException ex) {
            ex.printStackTrace();
        }
    }
    
}
